Computerized systems for monitoring, diagnosing, operating and controlling the operations of a wide variety of facilities, including factories, power plants, warehouses, office buildings and apartment buildings, are known. In such Supervisory Control and Data Acquisition (SCADA) systems, microprocessor devices convert device measurement and status inputs into computer data for logging and transmission to higher level processors. These supervisory processors make strategic decisions for the operation of a subsystem or subsystem device and send out set points to dedicated controllers which will make the changes to actuators and ultimately the process. The SCADA network therefore connects to many controllers and field devices to gather information and make global decisions. These SCADA systems typically integrate a large number of control devices through a number of diverse control networks. For example, there may be security, fire protection, heating, cooling, electrical and elevator control systems. U.S. Pat. No. 6,067,477 describes a method and an apparatus for providing an object-oriented frame work for the development of personalized workflow applications that provide real time SCADA functionality, while maintaining scalability to any number of users and integration with existing applications and systems. More specifically, U.S. Pat. No. 6,067,477 describes a computer integrated SCADA system for managing distributed field devices that control or monitor physical or logical entities and for providing users the ability to construct personalized SCADA applications. The computer controlled system provides real time continuous operational control by monitoring data received from one or more remote device sensors and actuating at least one of the plurality of control devices based on input from said remote sensors.
When a process control system is first installed, the system must be configured to function properly. However, configuring a process control system can be a complex, error prone task in which the user is required to keep track of numerous operations, files, computer connections and software configurations for all devices in the system. Typically, a user configures such a system from a written description (e.g., in system manuals) that identifies the features that can be configured and specifies the procedure for configuring the features (and, sometimes, the order in which the features are to be configured). The user types in commands based on instructions in the manual to configure such features as the data paths that the SCADA system will use, alarm conditions, network specifications, etc. In general, the user is required to type in the applicable information for each feature. The user typically keeps track of the features that have been configured, e.g., proceeding through a written checklist that he or she constructs or that the manuals provide. According to a more advanced method for configuring systems, there exist graphics-driven techniques according to which a user can configure the data processing features of a SCADA system. According to this method, the configurable data processing features are represented by displayed graphical objects that the user can readily comprehend and associate with each data processing feature. Symbols are created and added to the display for at least some of the configured features to present the user with a pictorial view of the features that have been configured. The user selects a displayed graphical object using an input device of the computer and is prompted to enter information associated with the data processing feature represented by the object. The computer system is enabled to thereafter use the data processing feature to process data in accordance with the entered information. However, even such graphics-driven methods for configuring SCADA systems are complex and time-consuming. Accordingly, there exists a need for an automated method for generating and configuring SCADA systems.